﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Physis.Security {

    public class AuthenticationResponse {

        #region Private Properties

        private String token;

        private Boolean isAuthenticated = false;

        private Enumerations.AuthenticationError authenticationError = Enumerations.AuthenticationError.NoError;

        private Exception lastException = null;


        private String domainName = String.Empty;

        private String userAccountName = String.Empty;

        private String userDisplayName = String.Empty;


        private Int64 userAccountId = 0;

        private Int64 environmentId = 0;
        
        #endregion


        #region Public Properties

        public String Token { get { return token; } set { token = value; } } 

        public Boolean IsAuthenticated { get { return isAuthenticated; } set { isAuthenticated = value; } } 

        public Enumerations.AuthenticationError AuthenticationError { get { return authenticationError; } set { authenticationError = value; } }

        public Exception LastException { get { return lastException; } set { lastException = value; } }

        public String LastExceptionMessage { get { return ((lastException != null) ? lastException.Message : String.Empty); } }


        public String DomainName { get { return domainName; } set { domainName = value; } }

        public String UserAccountName { get { return userAccountName; } set { userAccountName = value; } } 

        public String UserDisplayName { get { return userDisplayName; } set { userDisplayName = value; } }


        public Int64 UserAccountId { get { return userAccountId; } set { userAccountId = value; } } 

        public Int64 EnvironmentId { get { return environmentId; } set { environmentId = value; } }
        
        #endregion

    }

}
